/**
 * 
 */
package negocio.Marcas;

import integracion.Factoria.*;
import integracion.Marcas.DAOMarcas;
import integracion.Modelo.DAOModelo;

public class SAMarcasImp implements SAMarcas {
	

	@Override
	public boolean crearMarca(TransferMarca t) {	

		 FactoriaDAO FacTdao = FactoriaDAO.getInstancia();
		 DAOMarcas daoMarcas = FacTdao.newDAOMarcas();
		 if(daoMarcas.creable(t))
			 return daoMarcas.create(t);
		 return false;
	}

	@Override
	public boolean eliminarMarca(TransferMarca t) {
		
		FactoriaDAO FactDao = FactoriaDAO.getInstancia();
		DAOMarcas daoMarcas = FactDao.newDAOMarcas();			
		DAOModelo daoModelo = FactDao.newDAOModelo();
		daoMarcas.deletable(t);
		if(daoMarcas.deletable(t) && !daoModelo.constainsMarca(t.getId()))
			return daoMarcas.delete(t);
		return false;
	}

	@Override
	public TransferMarca buscarMarca(int id) {
		
		FactoriaDAO FactDao = FactoriaDAO.getInstancia();
		DAOMarcas daoMarcas = FactDao.newDAOMarcas();
		if(daoMarcas.searchable(id))
			return daoMarcas.readById(id);
		return null;
	}

	@Override
	public boolean actualizarMarca(TransferMarca t) { 		
		FactoriaDAO FactDao = FactoriaDAO.getInstancia();
		DAOMarcas daoMarcas = FactDao.newDAOMarcas();
		if(daoMarcas.updatable(t))
			return daoMarcas.update(t);
		return false;
	}
	
	
	
}